#include "Log.hpp"
#include "ThreadPool.hpp"
#include<memory>
using namespace LogModule;
using namespace ThreadPoolModule;
int main()
{
    Enable_Console_Log_Strtegy();
    ThreadPool<int> *tp = new ThreadPool<int>();
    tp->Start();
    sleep(3);
    tp->stop();
    tp->Join();
    // tp->Equeue(t);
 
    //tp->Stop();

    // Enable_Console_Log_Strtegy();
    // LOG(LogLevel::DEBUG) <<"hello world"<<3.14;
    // LOG(LogLevel::DEBUG) <<"hello world"<<3.14;
    // LOG(LogLevel::DEBUG) <<"hello world"<<3.14;
    // LOG(LogLevel::DEBUG) <<"hello world"<<3.14;


    //std::unique_ptr<LogStrategy> strategy = std::make_unique<ConsoleLogstrategy>();
    // std::unique_ptr<LogStrategy> strategy = std::make_unique<FileLogStrategy>();
    // strategy->SyncLog("hello log!");

    // Logger log;
    // log.EnableFileLogStrategy();
    // log(LogLevel::DEBUG,"main.cc",10)<<"hello world"<<3.14;
    // log(LogLevel::DEBUG,"main.cc",10)<<"hello world";
    // log(LogLevel::DEBUG,"main.cc",10)<<"hello world";
    // log(LogLevel::DEBUG,"main.cc",10)<<"hello world";
    // log(LogLevel::DEBUG,"main.cc",10)<<"hello world";
    // log(LogLevel::DEBUG,"main.cc",10)<<"hello world";

    return 0;
}